Type - Preserving CPS Translation of Σ and Π Types is Not Not Possible 22 : 3

نویسندگان

  • WILLIAM J. BOWMAN
  • YOUYOU CONG
چکیده

Dependently typed languages such as Coq are used to specify and prove functional correctness of source programs, but what we ultimately need are guarantees about correctness of compiled code. By preserving dependent types through each compiler pass, we could preserve source-level specifications and correctness proofs into the generated target-language programs. Unfortunately, type-preserving compilation of dependent types is hard. In 2002, Barthe and Uustalu showed that type-preserving CPS is not possible for languages such as Coq. Specifically, they showed that for strong dependent pairs (Σ types), the standard typed call-by-name CPS is not type preserving. They further proved that for dependent case analysis on sums, a class of typed CPS translations—including the standard translation—is not possible. In 2016, Morrisett noticed a similar problem with the standard call-by-value CPS translation for dependent functions (Π types). In essence, the problem is that the standard typed CPS translation by double-negation, in which computations are assigned types of the form (A→ ⊥) → ⊥, disrupts the term/type equivalence that is used during type checking in a dependently typed language. In this paper, we prove that type-preserving CPS translation for dependently typed languages is not not possible. We develop both call-by-name and call-by-value CPS translations from the Calculus of Constructions with both Π and Σ types (CC) to a dependently typed target language, and prove type preservation and compiler correctness of each translation. Our target language is CC extended with an additional equivalence rule and an additional typing rule, which we prove consistent by giving a model in the extensional Calculus of Constructions. Our key observation is that we can use a CPS translation that employs answer-type polymorphism, where CPS-translated computations have type ∀α .(A→ α) → α . This type justifies, by a free theorem, the new equality rule in our target language and allows us to recover the term/type equivalences that CPS translation disrupts. Finally, we conjecture that our translation extends to dependent case analysis on sums, despite the impossibility result, and provide a proof sketch.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Type - Preserving CPS Translation of Σ and Π Types is Not Not

Dependently typed languages like Coq are used to specify and prove functional correctness of source programs, but what we ultimately need are guarantees about correctness of compiled code. By preserving dependent types through each compiler pass, we could preserve source-level specifications and correctness proofs into the generated target-language programs. Unfortunately, type-preserving compi...

متن کامل

Call-by-Value in a Basic Logic for Interaction

ion of Γ, x : N `M : N nat× σ (γ × nat)× σ M ∀σ. Abstraction of Γ, x : N `M : Nion of Γ, x : N `M : N nat× σ (γ × nat)× σ M ∀σ. nat× σ′ (γ × nat)× σ′ γ × σ nat× (γ × σ′) Abstraction of Γ, x : N `M : Nion of Γ, x : N `M : N nat× σ (γ × nat)× σ M ∀σ. nat× τ γ × σ ∀σ.∃φ.∀τ . φ× σ (φ× nat)× τ nat× (φ× τ) λx:X.M Abstraction of Γ, x : N `M : Nion of Γ, x : N `M : N nat× σ (γ × nat)× σ M ∀σ. nat× τ γ ...

متن کامل

Monad Translating Inductive and Coinductive Types

We show that the call-by-name monad translation of simply typed lambda calculus extended with sum and product types extends to special and general inductive and coinductive types so that its crucial property of preserving typings and βand commuting reductions is maintained. Specific similar-purpose translations such as CPS translations follow from the general monad translations by specializatio...

متن کامل

Equivalence-Preserving Compilation

Language-based security relies on the assumption that all potential attacks are bound by the rules of the language in question. When programs are compiled into a different language, this is true only if the translation process preserves observational equivalence. We investigate the problem of fully abstract compilation, i.e., compilation that both preserves and reflects observational equivalenc...

متن کامل

Electron Paramagnetic Resonance Studies of the Effects of π-donor Ligand and B18N18 Nanoring Field on Energy Gaps

To investigation non-bonded interaction of the [CuF4]2- complex inside nanoring, we focus on the single wall boron-nitride B18N18 nanoring. Thus, the geometry of B18N18 nanoring has been optimized by B3LYP method with EPR-II basis set and geometry of the [CuF4]2- complex has been optimized at B3LYP method with Def2-TZVP basis set and Stuttgart RSC 1997 Effective Core Potential. Also electronic ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2018